home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dbase / lib19.zip / TRIG.PRG < prev    next >
Text File  |  1992-06-25  |  14KB  |  431 lines

  1. *-------------------------------------------------------------------------------
  2. *-- Program...: TRIG.PRG
  3. *-- Programmer: Ken Mayer (KENMAYER)
  4. *-- Date......: 06/25/1992
  5. *-- Notes.....: Standard trig functions that weren't included in dBASE ...
  6. *--             See the file: README.TXT for details on the use of this library
  7. *--             file.
  8. *-------------------------------------------------------------------------------
  9.  
  10. FUNCTION Secant
  11. *-------------------------------------------------------------------------------
  12. *-- Programmer..: Jay Parsons (JPARSONS)
  13. *-- Date........: 03/01/1992
  14. *-- Notes.......: Secant of an angle X in radians.
  15. *--               Indeterminate and returns error if X is 90 or 270 deg.,
  16. *--                   i.e. mod( abs(X) + pi()/2 , pi() ) = 0
  17. *-- Written for.: dBASE IV, 1.1
  18. *-- Rev. History: None
  19. *-- Calls.......: None
  20. *-- Called by...: Any
  21. *-- Usage.......: Secant(<nX>)
  22. *-- Example.....: ?Secant(48)
  23. *-- Returns.....: Numeric
  24. *-- Parameters..: nX = Return Secant of X
  25. *-------------------------------------------------------------------------------
  26.  
  27.     parameters nX
  28.     
  29. RETURN 1 / cos( nX )
  30. *-- EoF: Secant()
  31.  
  32. FUNCTION CoSecant
  33. *-------------------------------------------------------------------------------
  34. *-- Programmer..: Jay Parsons (JPARSONS)
  35. *-- Date........: 03/01/1992
  36. *-- Notes.......: Cosecant of an angle X in radians
  37. *--               Indeterminate and returns error if X = 0 or 180 deg.,
  38. *--                 i. e. mod( abs(X), pi() ) = 0 
  39. *-- Written for.: dBASE IV, 1.1
  40. *-- Rev. History: None
  41. *-- Calls.......: None
  42. *-- Called by...: Any
  43. *-- Usage.......: CoSecant(<nX>)
  44. *-- Example.....: ?CoSecant(48)
  45. *-- Returns.....: Numeric
  46. *-- Parameters..: nX = Return CoSecant of X
  47. *-------------------------------------------------------------------------------
  48.  
  49.     parameters nX
  50.     
  51. RETURN 1 / sin( nX )
  52. *-- EoF: CoSecant()
  53.  
  54. FUNCTION CoTan
  55. *-------------------------------------------------------------------------------
  56. *-- Programmer..: Jay Parsons (JPARSONS)
  57. *-- Date........: 03/01/1992
  58. *-- Notes.......: Cotangent of an angle X in radians Indeterminate and returns 
  59. *--               error if X = 0 or 180 deg.,
  60. *--                   i. e. mod( abs(x), pi() ) = 0
  61. *-- Written for.: dBASE IV, 1.1
  62. *-- Rev. History: None
  63. *-- Calls.......: None
  64. *-- Called by...: Any
  65. *-- Usage.......: CoTan(<nX>)
  66. *-- Example.....: ?CoTan(48)
  67. *-- Returns.....: Numeric
  68. *-- Parameters..: nX = Return CoTan of X
  69. *-------------------------------------------------------------------------------
  70.  
  71.     parameters nX
  72.     
  73. RETURN  1 / tan( nX )
  74. *-- EoF: CoTan()
  75.  
  76. FUNCTION ASec
  77. *-------------------------------------------------------------------------------
  78. *-- Programmer..: Jay Parsons (JPARSONS)
  79. *-- Date........: 03/01/1992
  80. *-- Notes.......: Inverse secant - angle size in radians for a given
  81. *--               secant value X
  82. *-- Written for.: dBASE IV, 1.1
  83. *-- Rev. History: None
  84. *-- Calls.......: None
  85. *-- Called by...: Any
  86. *-- Usage.......: ASec(<nX>)
  87. *-- Example.....: ?ASec(48)
  88. *-- Returns.....: Numeric
  89. *-- Parameters..: nX = Return ASec of X
  90. *-------------------------------------------------------------------------------
  91.  
  92.     parameters nX
  93.     
  94. RETURN acos( 1 / nX )
  95. *-- EoF: ASec()
  96.  
  97. FUNCTION ACoSec
  98. *-------------------------------------------------------------------------------
  99. *-- Programmer..: Jay Parsons (JPARSONS)
  100. *-- Date........: 03/01/1992
  101. *-- Notes.......: Inverse cosecant - angle size in radians for a given
  102. *--               cosecant value X
  103. *-- Written for.: dBASE IV, 1.1
  104. *-- Rev. History: None
  105. *-- Calls.......: None
  106. *-- Called by...: Any
  107. *-- Usage.......: ACoSec(<nX>)
  108. *-- Example.....: ?ACoSec(48)
  109. *-- Returns.....: Numeric
  110. *-- Parameters..: nX = Return ACoSec of X
  111. *-------------------------------------------------------------------------------
  112.  
  113.     parameters nX
  114.     
  115. RETURN asin( 1 / nX )
  116. *-- EoF: ACoSec()
  117.  
  118. FUNCTION ACot
  119. *-------------------------------------------------------------------------------
  120. *-- Programmer..: Jay Parsons (JPARSONS)
  121. *-- Date........: 03/01/1992
  122. *-- Notes.......: Inverse cotangent - angle size in radians for a given
  123. *--               cotangent value X
  124. *-- Written for.: dBASE IV, 1.1
  125. *-- Rev. History: None
  126. *-- Calls.......: None
  127. *-- Called by...: Any
  128. *-- Usage.......: ACoT(<nX>)
  129. *-- Example.....: ?ACoT(48)
  130. *-- Returns.....: Numeric
  131. *-- Parameters..: nX = Return ACoT of X
  132. *-------------------------------------------------------------------------------
  133.  
  134.     parameters nX
  135.     
  136. RETURN atan( 1 / nX )
  137. *-- EoF: ACoT()
  138.  
  139. FUNCTION SinH
  140. *-------------------------------------------------------------------------------
  141. *-- Programmer..: Jay Parsons (JPARSONS)
  142. *-- Date........: 03/01/1992
  143. *-- Notes.......: Hyperbolic sine of an angle X in radians
  144. *-- Written for.: dBASE IV, 1.1
  145. *-- Rev. History: None
  146. *-- Calls.......: None
  147. *-- Called by...: Any
  148. *-- Usage.......: SinH(<nX>)
  149. *-- Example.....: ?SinH(48)
  150. *-- Returns.....: Numeric
  151. *-- Parameters..: nX = Return SinH of X
  152. *-------------------------------------------------------------------------------
  153.  
  154.     parameters nX
  155.     
  156. RETURN ( exp( nX ) - exp( -nX ) ) / 2
  157. *-- EoF: SinH()
  158.  
  159. FUNCTION CosH
  160. *-------------------------------------------------------------------------------
  161. *-- Programmer..: Jay Parsons (JPARSONS)
  162. *-- Date........: 03/01/1992
  163. *-- Notes.......: Hyperbolic cosine of an angle X in radians
  164. *-- Written for.: dBASE IV, 1.1
  165. *-- Rev. History: None
  166. *-- Calls.......: None
  167. *-- Called by...: Any
  168. *-- Usage.......: CosH(<nX>)
  169. *-- Example.....: ?CosH(48)
  170. *-- Returns.....: Numeric
  171. *-- Parameters..: nX = Return CosH of X
  172. *-------------------------------------------------------------------------------
  173.  
  174.     parameters nX
  175.     
  176. RETURN ( exp( nX ) + exp( -nX ) ) / 2
  177. *-- EoF: CosH()
  178.  
  179. FUNCTION TanH
  180. *-------------------------------------------------------------------------------
  181. *-- Programmer..: Jay Parsons (JPARSONS)
  182. *-- Date........: 03/01/1992
  183. *-- Notes.......: Hyperbolic tangent of an angle X in radians
  184. *-- Written for.: dBASE IV, 1.1
  185. *-- Rev. History: None
  186. *-- Calls.......: SINH()               Function in TRIG.PRG
  187. *--               COSH()               Function in TRIG.PRG
  188. *-- Called by...: Any
  189. *-- Usage.......: TanH(<nX>)
  190. *-- Example.....: ?TanH(48)
  191. *-- Returns.....: Numeric
  192. *-- Parameters..: nX = Return TanH of X
  193. *-------------------------------------------------------------------------------
  194.  
  195.     parameters nX
  196.  
  197. RETURN sinh( nX ) / cosh( nX )
  198. *-- EoF: TanH()
  199.  
  200. FUNCTION SecH
  201. *-------------------------------------------------------------------------------
  202. *-- Programmer..: Jay Parsons (JPARSONS)
  203. *-- Date........: 03/01/1992
  204. *-- Notes.......: Hyperbolic secant of an angle X in radians
  205. *-- Written for.: dBASE IV, 1.1
  206. *-- Rev. History: None
  207. *-- Calls.......: COSH()               Function in TRIG.PRG
  208. *-- Called by...: Any
  209. *-- Usage.......: SecH(<nX>)
  210. *-- Example.....: ?SecH(48)
  211. *-- Returns.....: Numeric
  212. *-- Parameters..: nX = Return SecH of X
  213. *-------------------------------------------------------------------------------
  214.  
  215.     parameters nX
  216.     
  217. RETURN 1 / cosh( nX )
  218. *-- EoF: SecH()
  219.  
  220. FUNCTION CScH
  221. *-------------------------------------------------------------------------------
  222. *-- Programmer..: Jay Parsons (JPARSONS)
  223. *-- Date........: 03/01/1992
  224. *-- Notes.......: Hyperbolic cosecant of an angle X in radians
  225. *-- Written for.: dBASE IV, 1.1
  226. *-- Rev. History: None
  227. *-- Calls.......: SINH()               Function in TRIG.PRG
  228. *-- Called by...: Any
  229. *-- Usage.......: CScH(<nX>)
  230. *-- Example.....: ?CScH(48)
  231. *-- Returns.....: Numeric
  232. *-- Parameters..: nX = Return CScH of X
  233. *-------------------------------------------------------------------------------
  234.  
  235.     parameters nX
  236.     
  237. RETURN 1 / sinh( nX )
  238. *-- EoF: CScH()
  239.  
  240. FUNCTION CoTH
  241. *-------------------------------------------------------------------------------
  242. *-- Programmer..: Jay Parsons (JPARSONS)
  243. *-- Date........: 03/01/1992
  244. *-- Notes.......: Hyperbolic cotangent of an angle X in radians
  245. *-- Written for.: dBASE IV, 1.1
  246. *-- Rev. History: None
  247. *-- Calls.......: COSH()